1. Field of the Invention
The invention relates to crypto-engines for cryptographic processing of data. More particularly, the invention relates to a crypto-engine capable of executing either Rivest-Shamir-Adleman (RSA) or Elliptic Curve Cryptography (ECC) public key encryption protocols.
2. Description of Prior Art
The RSA public-key cryptosystem devised by Rivest, Shamir and Adleman and the EEC cryptosystem devised by Koblitz and Miller are two common algorithms adopted by public key infrastructures.
RSA involves a computation of the exponentiation and modulo of product of two large prime numbers whereas ECC is based on computations with points on an elliptic curve. To achieve faster speed, hardware architectures are normally used to implement these algorithms.
In RSA, the main basic operation is the modular multiplication. When the ECC is implemented over the field GF(p), where p is a large prime number, the main basic operations are also modular multiplication. Thus the two algorithms share a common operation. However, in known hardware architectures resources cannot be shared by the algorithms and reused.